package ide.modelo;

import ide.modelo.Editor;
import java.io.*;

public class ManejadorDeArchivos {
	
	private Editor editor;
	
	
	public ManejadorDeArchivos(Editor editor){
		this.editor = editor;
	}
	
	public void guardarArchivo(String nombreArchivo){
		this.escribirArchivo(this.editor.getContenidoComoString(), nombreArchivo);
				
	}
	
	public void cargarArchivo(String nombreArchivo){
		this.editor.setContenido(this.leerArchivo(nombreArchivo));
		
	}
	
	private void escribirArchivo(String contenidoEditor, String nombreArchivo){

		File file; 
		try{
			file = new File(nombreArchivo);
			FileWriter fileW = new FileWriter(file);
			BufferedWriter bufferedW = new BufferedWriter(fileW);
			PrintWriter printW = new PrintWriter(bufferedW);
			
			printW.write(contenidoEditor);
			
			printW.close();
			bufferedW.close();
			fileW.close();
		}

		catch(IOException e){};

	}
	


	private String leerArchivo(String nombreArchivo){
		String contenidoArchivo = "";
		String aux = "";
		try{
			File file = new File(nombreArchivo);
			FileReader fileR = new FileReader(file);
			BufferedReader bufferedR = new BufferedReader(fileR);
			
			while( (aux = bufferedR.readLine()) != null){
			
			contenidoArchivo = contenidoArchivo.concat(aux);
			contenidoArchivo = contenidoArchivo.concat("\n");
			
			}
			
			bufferedR.close();
			fileR.close();
		}
		catch(IOException e){}

		return contenidoArchivo;
	}
	
	public boolean existe(String nombreArchivo){
		
		File file = new File(nombreArchivo);
		return file.exists();
		
	}
}


